home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000 #2
/
Ham Radio 2000 - Volume 2.iso
/
HAMV2
/
TCP_IP
/
TNOS230D
/
NEW2TN1.12
< prev
next >
Wrap
Text File
|
1995-06-15
|
23KB
|
547 lines
Upgrading TNOS to release 1.12
http://www.lantz.com/Update1.12.html
TNOS 1.12 will be the next release of TNOS, to be released sometime
before the formation of the United Federation of Planets. Hopefully,
this list of changes will give you an idea of the scope of work that has
occurred between versions. Of course, it may be faster just to re-read
the docs when the next version is released.
This document is divided into:
* Bug Fixes
* Improvements
* Minor Changes
* Known Bugs
* To-Do List
------------------------------------------------------------
Bug Fixes:
The following bugs have been squashed.
* Tscript mailing once again works
The ~d and ~dr commands didn't mail their output in release 1.11. Now
fixed.
* Small TCPGATE buglet fixed
When a TCPGATE connection was made, the logfile tried to print an integer
as a string, causing garbage in TNOS/DOS logfiles, and causing occasional
program crashes under TNOS/Linux. Now fixed.
* The BBS 'RM' command fixed
A seemingly long standing bug with the 'RM' command has been fixed. (Can't
believe no one ever reported that one before).
* A long-standing trace buglet squashed
For quite some time (maybe forever) the hex dump tracing of AX25 interfaces
have had a leading zero byte in the display. In TNOS 1.00, I stripped the
first byte, only to find that the AX25 was fine, but others weren't.
TNOS 1.10 and 1.11 were released with the original buglet. Now the first
byte (the bogus zero byte) is stripped if the interface is an AX25, but
it is left alone for all other interface types.
* Fixed the alternate REQSVR "uploadblind" syntax
The "ub filename" alternate syntax for the "uploadblind" sub-command didn't
work due to a now squashed buglet.
* Fixed a minor security buglet in the BBS 'conf' command
There has been a minor buglet discovered in the mbox 'conf' command. If
you use the 'c' command, then permissions are properly checked for the
NO_CONVERS flag, and the attempt fails if the permissions have this flag.
Well, the 'conf' command WASN'T checking this permission.
* New mail buglet smashed
There was a buglet that occurred if you were in the BBS with unread mail
and a new message came in. What happened was that the current message was
set in the routine that checks for new mail to the FIRST unread message,
which is one MORE than what is just WAS. This now preserves the current
message number when new mail comes in.
* BBS buglet, causing unnecessary DNS lookups, is dead
There was a buglet in the isanIPhost() function, which is called when the
user sends a mail message. It had a piece of code, which looked at the
address, and if it was a common Internet address extension, then it would
bypass a DNS lookup.
Well, the logic was wrong, and the result was to ALWAYS look up the
address with DNS.
* BBS Login 'ghost' now busted
Thanks to Rob Mayfield <mayfield@guest.adelaide.edu.au> for pointing me
to another problem. Every once in a while (in any xNOS) you will see that
you have a ghost user, that is 'LOGGING IN', but isn't really there. They
WERE, but the connection is gone and the tdisc timer didn't kick in.
Well, this was because the tdisc timer wasn't started until AFTER the
login was complete. This has now been moved to before the login, so when
the 'mbox tdisc' timer kicks, the ghost is busted...
* Small filename buglet with tutorial files under Linux
While the intention was to allow a tutorial file to be *.tut, for Linux
this was fine but NOT if you wanted to name it *.*.tut. There could be
only one '.' in a file name.
Thanks to Rob Mayfield <mayfield@guest.adelaide.edu.au> for catching this
one....
* Expiration bug found
One of the hardest ones I've had to find was this one....
It seems that if the public areas are expiring AND a message comes in for
THAT area while THAT area is expiring, bad things happen. Sometimes the
file(s) get corrupted. Sometimes a lockup. Sometimes the SMTP process
would abort, leaving the ".CTL" file open. When it tries again later, if
the expiration is STILL going on (large file - short timers), then
ANOTHER ctl file COULD be left open. This SOMETIMES resulted in DOS
getting all available files hanging, making a crash eventual.
Well, this one should be good and squashed!
* Forwarding subchannels quirk fixed
If you were using the subchannels feature for forwarding, and not all BBSs
with traffic to pass could start (due to subchannel limiting), then a quirk
occured if the first (or an early BBS) fails, due to not being available.
If this happened, the next forwarding slot would go to them, NOT to the
next one waiting. This only became a BIG problem if the subchannel was
limited to one. In this case, the next ones NEVER did get a chance.This has
now been fixed.
* Statline command in Linux version fixed
I THINK (repeat, THINK) that I found what was goofing up the statline
functionality under Linux, and causing the instability.
The problem was two-fold. If you were NOT on the command session the
display would not update, though the routine WAS being called !?!?
Second, turning it on made you a ticking timebomb waiting for a place to
happen.
Well, it seems that it WAS updating the screen, the COMMAND screen. And
after it had been sufficiently backlogged, the thing blew! So you could
stay on the command session all day with no problem, but start to do
something in another session and you would die after a SHORT while.
* BBS Mail scan at startup w/Linux
There was a bug with the mail scan at login in the Linux version. It is
fixed in release 1.12
------------------------------------------------------------
Improvements:
The following optimizations and improvements have occurred.
* Trace display of encap frames improved
Added code to the tracing of encapsulated packets to show the encap
IP type, which is either 4 or 94. Until the 94 type is completely history,
this will assist in debugging encap problems.
* Home BBS prompt message not in a changable file
Changed the ASKHOME first-time prompt message from being a compiled in
message to being one read from a file named '/spool/askhome.dat'.
* Completely customizable prompt
Added a new option to the 'prompt' command, "prompt custom 'promptstr'"
which allows you to fully customize the prompt to whatever you wish. To use
imbedded spaces, surround the string in quotes.
* Two new short-cut commands
Added two new command session commands, 'gone' and 'here'. These 'gone'
command is the same as 'attend off' and 'mbox attend off'. The 'here'
command sets these both to 'on'.
* Made the rewrite file parsing more dependable
The routine that parsed the rewrite file was very dependent on having only
a single space or tab between fields. This is no longer a problem.
* A small change to Conference Bridge flow control
Made a small change to the flow control, which places the Conference stream
in non-CR flow mode during the processing of Conference Bridge commands,
and then places it back into CR flow control while waiting for new commands
or data (the original flow control). This allows the incoming data messages
to come out as soon as they arrive, without queueing, but makes the output
of commands (like /who) come in the most efficient manner for the interface.
* Added run-time configuration of the ARP expiration timeout
Now there is a 'arp expire numseconds' command. The default is the old
hardcoded value of 900 (15 minutes).
* Added an 'unlock' command
Necessity again adds to the command set! There is now a command session
command 'unlock unlockpassword' that can be accessed as a remote sysop
to bring a mountaintop TNOS box out of keyboard lock, so you can allow
a volunteer to assist on site without giving the password out.
* Also now allow remote locking
To allow the keyboard to be secured remotely, the previousi restriction
to the 'lock' command, which would not allow it to be executed remotely,
has been removed. The idea is, if they have remote sysop permissions,
then you are already trusting them, so allow it.
* Added ability to ALWAYS display MOTD file
The MOTD file used to be a one-shot only, that is, you only saw it once,
on your next login only. To display it again after changes, you used the
'mbox newmotd' command. There is now a 'mbox motdalways' command, so
if you desire to, you can always have the MOTD file displayed on EACH login.
* Extended the flexibility of security permissions
I've added two new security subcommands, 'amprperms' and 'nonamprperms',
which ought to be obvious on who they are for ;-)
I also made a change to how these work, so let me explain from scratch:
The security subcommands of 'amprperms', 'ax25perms', 'nonamprperms',
and 'tipperms' serve as a way to have a greater deal of control over
anonymous logins to the BBS. These all default to a value of zero, which
disables their use. When a user logs into the BBS anonymously, they get
whatever value the 'univperm' entry is set for (if it exists). Then the
type of connection is determined; i.e. ampr telnet, ax25, non-ampr
telnet, or tipmail. IF the corresponding security permission is non-zero,
then THAT value will be used, overridding the 'univperm' permissions.
This allows you to have different anonymous permissions for each of these
four groups, or use the old way if you prefer.
* New BBS script hooks for access denial
There is also a new set of mbox script hooks in all of the routines that
deny access for gatewaying to either converse, netrom, ax25 connects,
telnet, or if the use is denied because the 'mbox secure' flag is on.
The script that will be called (if it exists) is the
spool/cmds/denied.sys script. It is passed in ~0 a string of 'denied xxxx',
where 'xxxx' is either 'converse', 'ax25', 'telnet', 'netrom', or 'secure'.
This allows you to make a custom and more friendly message explaining the
denial.
* TAPR Hierarchical Addressing Protocol enforced
This release enforces the TAPR
Hierarchical Addressing Protocol (x.3.4) as published. The 'mbox haddress'
command will NOT accept an address that is not using one of the 19
4-character Continent Identifiers listed in the protocol or an address
that is not using a 3-character Country Identifier.
While I have avoided coding in items that restrict the user, I believe
that the Protocol, as recommended by TAPR's BBSSIG and TAPR's board, is
important and should be adopted.
* Command to limit number of BBS incoming sessions
Give them a stable xNOS, and then they want to limit the number of users ;-)
Well Mat requested:
"BTW, what do you think of a 'mbox maxusers #' command to limit
online users?"
Well, it's in 1.12.
* Added a command session uptime command.
Didn't take much, and I got tired of typing 'mbox mailstat'...
* Further security options....
There will also be a greater degree of security in release 1.12 in the
area of email. There are now three new permission flags, no_pbbs_mail
(Disallow PBBS mail addresses), no_inet_mail (Disallow non-ampr mail
addresses), and no_ampr_mail (Disallow ampr mail addresses).
* New command 'mbox bidsuffix'
There is a new command session command 'mbox bidsuffix', which allows you
to define the string used to make up the bids on messages created
locally. This was normally based on the first part of the hostname, but
for hosts like 'gw.n9xxx.ampr.org', the "12345_GW" didn't cut it. Most
won't need this, but if you do it's there.
* New command 'mbox rcall'
There is a new command session command 'mbox rcall', which allows you to
define the string used to make up the first element of the haddress used
in the R: lines ('mbox haddress' should NOT include the callsign). This
was normally based on the 'ax mycall'. While this is normally not needed,
some are maintaining more than one TNOS machine (myself included) and
this allows the callsigns to be the same (or different) and the haddress
to be varied, also.
* Introducing 'ax25 smartroute'
Smart routing is where when an address is overheard which is NOT to your
TNOS box, it looks in (1) optional remote calls associated with the axip
interface (more later), (2) the current ax25 routing table, (3) the ax25
heard listings. If the call is intended for one of these (someone that
TNOS can identify with an interface - and not the interface it came in
on), then the packet will be digipeated to the proper interface
automagically!
For instance, K1XXX is a user located on port '2m' of TNOS system N4YYY.
N4YYY can connect to him in his BBS with 'C 2m K1XXX'. Now W3ZZZ is
another xNOS system, connected to N4YYY via an axip link, on his port
named 'link1'. W3ZZZ can now connect to K1XXX directly using
'C link1 K1XXX' and K1XXX can connect to W3ZZZ using 'C W3ZZZ' from HIS
station, without using, or knowing TNOS, and without knowing of the
existence of N4YYY.
Notice that I said W3ZZZ was a xNOS user, and not a TNOS user. One TNOS
smart router can serve both ends.
* Maintainence Mode added
There are three new commands that alter what I call Maintainence Mode.
This provides a way to prevent further BBS connects in order to do
maintainence chores, like expiration.
mbox maintainence [on | off]
displays/sets state of maintainence mode
mbox maintmode [on | off]
displays/sets whether maintainence mode is really used
mbox maintstr [string]
displays/sets the string given to the users that try to
connect while maintainence is being done.
For example, if 'mbox maintmode' is on, then you can type 'mbox
maintainence on', and no further logins will be permitted until you type
'mbox maintainence off'.
The expire code now uses this mode, if it is enabled, to set maintainence
mode, and then it waits until any current users log off. Once the BBS is
clear, then the expiration continues.
The White Pages expiration code uses this in the same way.
You will want to schedule these to occur at non-peak times (4 a.m., etc.).
* LOOK comes to TNOS
One feature that made it into JNOS a while back seemed to escape my
attention, the 'look' command. If you come to TNOS from a recent JNOS,
you probably already know about LOOK (except for my additions ;-)
Thanks goes to Mike Dent <g6phf@unixphf.ampr.org> for making me aware of
this one.
Typing 'look user' or 'look socket#', gives the sysop a 'split' screen
picture window of whatever the user you are looking at types OR receives,
as though you where that user. Special commands for the sysop include:
/chat
starts a chat session to the user, user sees
"***SYSOP initiated CHAT".
/quit (or /bye or /exit)
stops the look session or the chat session, if active.
/msg message
sends a '<sysop>:' followed by your message.
/help (or /?)
gives a SMALL help message.
/insert command
allows the sysop to take over and do the typing for users
from the sysop's look session. The user would still see
the text the sysop was typing.
* Selective holding of locally generated mail
Added a command 'mbox holdall' to allow you to hold all locally generated
BBS messages for SYSOP review.
* AXUI mode developed
Well, added another SYSOP tool, AXUI, which allows you to monitor all
broadcast UI frames, and allows you to send UI's message to a definable
callsign out a definable interface. The source callsign is the 'ax user'
callsign.
Commands syntax is: 'axui <iface> [callsign]" If 'callsign' is
not given, then 'ID' is used. This gives the sysop a 'split' screen
picture window of all of the UI non-protocol frames from ALL interfaces.
The commands within AXUI are:
/call callsign
changes the outgoing destination callsign to 'callsign'
/quit (or /bye or /exit)
stops the axui session
/interface iface
changes the outgoing interface to 'iface'
/help (or /?)
gives a SMALL help message.
This is a tool I've needed many times when debugging TNOS or debugging
the local network. Also, there WAS no way to easily send a keyboard UI
before. Hopefully this will be useful.
------------------------------------------------------------
Minor Changes:
The following minor changes have occurred.
* The "Mailbox" now a "BBS"
The point was well made that the "Mailbox" has matured into a "BBS", so the
logon and logoff messages reflect this change.
* Added to the 'write' command
Now the 'write' command will allow you to send data to a Conference
Bridge user.
* Added automatic parsing/responding to BBS SIDs when forwarding
Now, when you set up a script to forward to a BBS through another station,
the SID of the distant station is parsed, and then an automatic response
is sent, your SID.
* Less DNS lookups needed with sending mail from the BBS
There is now another test done BEFORE isanIPhost(),
which looks for a properly formatted (read that as '4 character
continent') PBBS address. If it is one, then the isanIPhost() check is
not needed....
* Made the BBS commands MM and MC more flexible
Now allow a range (x-x) to be given as a parameter, like the 'k' command.
* BBS area descriptions added
There is now a file (/spool/help/areas.hlp) which is looked at when a
user changes areas. If an entry exists for that area, the data from that
entry is displayed with the area change. This data is NOT displayed for
BBSs or users that have EXPERT mode on.
The file is in the same format as the other help files:
:keyword
any data you want
as many lines as you want
:newkeyword
* The expire routine accepts non-standard dates.
The mod, originally by WA3DSP, has been added with changes to allow dates
that have 4-character year strings, instead of the standard 2-character
ones to be properly interpreted.
* AXIP remote callsign support for Smart Routing
The AXIP attach command has been extended to include an optional remote
callsign. This keeps you from having to add all of these to your 'ax
route' tables to use them with Smart Routing.
* Local SYSOP can now initiate a chat session
How many times have you been typing along on your TNOS box, when all of a
sudden, <BEEP>! Your screen has changed, and you have been abruptly
placed in a chat session with either a ttylink user or a BBS user using
the Operator command.
Well, now SYSOPS, you can turn the tables. There is now a command session
command 'mb chat <bbsuser>' (with a 'chat <bbsuser>' for the lazy among
us). If the user is NOT sitting idle at a command prompt, when the current
command is complete they are placed into the chat session (Do not pass
go, Do not collect $200.00)
If they ARE idle at the command prompt, they are BEEPed at and told that
"SYSOP requests a chat.....", and they are in the chat.
Thanks to Mike Dent <g6phf@lurpac.lancs.ac.uk> for the suggestion....
* BBS 'encode' command
There is now a BBS 'encode' command, requires SYSOP permissions,
which encodes the FTPUSERS files from the BBS.
* Added the 'ax25 user' command
There is now an 'ax25 user <callsign>" command, which sets the callsign
used for console connects. This is the companion to the 'netrom user'
command. This allows outgoing connects to use the same call on all
interfaces, regardless of the interface call. It can also be used, for
instance, at a club station machine, to painlessly change call signs for
different users.
* Added a 'quiet' parameter to statline
The command session command is changed to 'statline [on|off] [quiet]',
allowing you to turn statline on without getting the audible alert when
data comes in to one of your non-selected interactive sessions.
------------------------------------------------------------
Known Bugs:
The following are known bugs that remain as of release 1.12.
* TCPGATE problems
There is a problem with TCPGATE if a socket is prematurely closed. This is
being worked on.
* Screen saver not right in Linux version
Display doesn't clear, just overwrites. Not harmful, but not right.
* BID and WHITE PAGES flakiness, at times
The expiring and sorting of BIDS and WP can at times make things
a little flakey. These are still under construction.
* Infrequent 'SC' bug
If you use 'SC', sometimes not all of the copies get sent, if PBBS
forwarding is used.
* FTP permissions improved
The new UNIX-like dir display needs a little more work with the permissions
portion of the display...
* Data coming into a 'closed' port causes bad things
If data comes into a port that WAS open but is NOW closed, bad things can
happen. This is not a TNOS-specific bug, but has been around since
probably day one.
------------------------------------------------------------
To-Do List:
The following are things on my 'to-do' list that should eventually
be done, but not necessarily by the next release.
* Linux kernel AX25 devices available from TNOS/Linux
This would allow the PI card to be used....
* BID History moved to an in-memory structure
This will eliminate the need to sort the history file, allow faster
lookups, and eliminate the need to 'bid kick' in order to update the BID
info.
* Bypass internet SMTPClient->SMTPServer for local mail
Find a way to do all that is being done, without the overhead of two
separate processes, and two different temp files.
* FBB-style forwarding
No, I didn't give up on this....
* HTTP daemon???
Who knows!
* Add in a way to process PBBS 'import' files
Probably by rewriting a file to area 'import', the file would be processed
and the messages treated as being received by a direct PBBS connection.
* Possible incoming email 'budlist'
Possibly add a command to look at incoming "From:" addresses and either
hold the message, bounce it, or bit-bucket it if it comes from a 'budlist'ed
name in a file.
* Possible incoming email 'bad words' filter
This would hold messages if they contained words found in a 'bad words'
file.
* Modify the delegation server
Make this only send ONE notification per user per delegation period.
* Add capability to TScript to allow starting of OS commands
This MAY or MAY NOT be limited to Linux version.
* Add in UNIX permissions checking to FTP server
This could cause problems with restricted files not being restricted.